package com.springboot.autoconfigure.oss.util;

import cn.hutool.core.io.FileUtil;
import cn.hutool.crypto.digest.MD5;
import com.springboot.autoconfigure.oss.config.LocalConfigPropertis;
import com.springboot.autoconfigure.oss.config.OssConfigPropertis;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

/**
 * @author zehua
 * @date 2023/7/1814:07
 */
public class OSSFileHelperUtil {


    /**
     * 原始文件名
     */
    public final static String FILE_NATIVE_EXT_NAME="nativeFileName";

    /**
     * 原始文件创建时间
     */
    public final static String FILE_NATIVE_EXT_CREATE_DATE="nativeFileCreateDate";

    /**
     * 原始文件md5
     */
    public  final static String FILE_NATIVE_EXT_MD5="nativeFileMd5";

    /**
     * 原始文件md5
     */
    public  final static String FILE_NATIVE_EXT_SIZE="nativeFileSize";

    /**
     * 获取文件扩展信息
     * @param file
     * @return
     */
    public static Map<String,Object> getFileOtherInfo(File file) {
        HashMap<String, Object> fileInfoMap = new HashMap<>();
        fileInfoMap.put(FILE_NATIVE_EXT_NAME, file.getName());
        fileInfoMap.put(FILE_NATIVE_EXT_CREATE_DATE,FileUtil.lastModifiedTime(file));
        fileInfoMap.put(FILE_NATIVE_EXT_MD5, MD5.create().digest(file));
        fileInfoMap.put(FILE_NATIVE_EXT_SIZE, FileUtil.size(file));
        return  fileInfoMap;
    }

    /**
     * 获取文件扩展信息
     */
    public static String getFileExt(File file) {
        return FileUtil.extName(file);
    }

}
